int rand() 
{
  random_seed = random_seed * 1103515245 +12345; 
  return (unsigned int)(random_seed / 65536) % 32768; 
}

{(Rand)
  [(c__)
    s<5>=
  ]
  [(rand)
    (_a)A!
    s
      s*
      <1103515245>(_a)m.?
      <4294967295>(_a)(mod).?
      <12345>(_a)a.?
    =
    s*
      <65535>(_a)d.?
      <32768>(_a)(mod).?
  ]
  [(seed)
    s1=
    ,
  ]
  [(randi)
    (_a)A!
    (_t)$
    (_min)2=
    (_max)1=
    ,,
    (_min)*(_max)*(_min)*(_a)s.?<1>(_a)a.?(_t)(rand).?(_a)m.?<32768>(_a)d.?(_a)a.?
    (_a)f.?
  ]
}

{(Rand)[(c__)s<5>=][(rand)(_a)A!ss*<1103515245>(_a)m.?<4294967295>(_a)(mod).?
<12345>(_a)a.?=s*<65535>(_a)d.?<32768>(_a)(mod).?][(seed)s1=,][(randi)(_a)A!
(_t)$(_min)2=(_max)1=,,(_min)*(_max)*(_min)*(_a)s.?<1>(_a)a.?(_t)(rand).?(_a)m.
?<32768>(_a)d.?(_a)a.?(_a)f.?]}
